package com.wp.service.impl;

import com.wp.mapper.RightMapper;
import com.wp.pojo.Right;
import com.wp.service.RightService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
@Service
public class RightServiceImpl implements RightService {
    @Autowired
    private RightMapper rightMapper;
    /**
     * 制作map集合，提升效率
     * 分级查找，每一级一个list,封装到一个map里
     * 第一次map为空，则查库，后面再查就查map。
     * 为保证数据一致性，每次对数据库修改后，都执行一次这个制作过程。
     * 第一步查出parent_id=0所有一级菜单记录
     * 第二步查出每一个parent_id=一级菜单id的子记录
     * 重复第二步，直至下一级子菜单集合为空，说明当前菜单等级为最低一级，
     * 已无最低菜单
     */
    private List<Right> rightParent;
    /**
     * 获取所有菜单列表
     * */
    @Override
    public List<Right> getAllRight() {
        int parentId = 0;
         rightParent = rightMapper.getRight(parentId);
        for (Right lists : rightParent) {
            Integer ownerId = lists.getId();
            List<Right> rightChildren = rightMapper.getRight(ownerId);
            lists.setChildren(rightChildren);
        }

        return rightParent;
    }
}
